Alteryxで二重になっている列の項目名をデータにする
こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。
今回は「二重になっている列の項目名をデータにする」というテーマで、処理の方法を考えてみます。
二重になっている列の項目名をデータにする
上の表では、「Category A」や「Type A」という項目名があります。上の表を下の表のように、項目名をデータにし、「Month」「Category」「Type」「Value」という列を作成する方法を考えてみます。
ワークフローの概要
今回使用するワークフローの概要です。Input Dataツールでデータを読み込んだのち、
- 項目名のデータの移動
- Sampleツールで項目名のデータを抽出
- Transposeツールでデータを移動
- Filterツールでデータを分類
- Joinツールでデータを結合
- 項目名以外のデータの移動
- Sampleツールで項目名以外のデータを抽出
- Transposeツールでデータを移動
- Joinツールで項目名と項目名以外のデータを結合
という処理を行います。
ワークフローの詳細
Input Dataツールでデータを読み込み、処理を追加していきます。「Category A」や「Type A」などはデータとして扱い、列の名前は「F1」などになっています。
[Preparation]->[Sample]を追加します。[First N Records]を選択、「N = 2」を設定して、上の2行にある「Category A」や「Type A」などを抽出します。
[Transform]->[Transpose]を追加します。[Data Fields]は、データがnullの「F1」を除き、「F2」から「F5」を選択します。実行後、「F2」などは「Name」列、「Category A」や「Type A」などは「Value」列になっています。
[Preparation]->[Filter]を追加します。[Basic filter]に「Value Contains Category」を設定し、「Category A」「Category B」と「Type A」「Type B」に分類します。
[Join]->[Join]を追加し、「Category A」「Category B」と「Type A」「Type B」に分類したデータを「Name」で結合します。また、分かりやすいように、2つある「Name」のうち1つを削除。列の名前を「Value」から「Category」と「Type」に変更します。
ここまでの処理で、項目名のデータを移動できました。続いて、項目名以外のデータを移動します。
Sampleツールを追加し、Input Dataツールと接続します。「Skip 1st N Records」を選択、「N = 2」を設定し、上の2行にある「Category A」や「Type A」などの項目名以外を抽出します。
Transposeツールを追加します。[Key Fields]に「F1」を選択、[Data Fields]に「F2」から「F5」を選択します。「F1」列は残り、「Name」列と「Value」列が追加されます。これにより、「F1」列には「Jan」など、「Name」列には「F2」など、「Value」列には「100」などが出力された状態になりました。
これで項目名のデータと、項目名以外のデータの準備ができました。
Joinツールを追加して、2つのデータを結合します。どちらのデータも「Name」列で識別できるようになっていますので、[Join by Specific Fields]を選択して「Name」で結合します。また、分かりやすいように、2つある「Name」のうち1つを削除、列の名前を「Month」に変更し、「Month」が左端になるよう移動します。
これで、「Month」列に「Jan」など、「Category」列に「Category A」など、「Type」列に「Type A」など、「Value」列には「100」などのデータが出力されるようになりました。
最後に
今回は二重になっている列の項目名をデータに移動する方法をご紹介しました。これからもAlteryxの機能をご紹介していきます。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。